package com.ship.contract.service;


import com.ship.common.core.base.Page;
import com.ship.common.datasource.annotation.Slave;
import com.ship.contract.bean.ConExcellentCases;
import com.ship.contract.bean.ConFiles;
import com.ship.contract.bean.ConResourceMemorandumPosition;
import com.ship.contract.bean.ConShipping;
import com.ship.contract.bean.vo.ConShippingNameTextVo;
import com.ship.contract.bean.vo.ConShippingVo;
import com.ship.contract.bean.vo.IhsShipBaseVo;

import java.util.List;
import java.util.Map;

public interface ConShippingService extends ContractBaseService<ConShipping>{

    void delApply(Long id);

    Map<String,Object> detail(Long id);

    void excellent(ConExcellentCases conExcellentCases, String currentUserName);

    String saveCon(ConShipping conShipping);

    void updateCon(ConShipping conShipping);

    void supplementaryContractFile(ConFiles conFiles);

    String editContractName(ConShipping conShipping);

    String editContractNumbers(ConShipping conShipping);

    List<ConResourceMemorandumPosition> getFieldLocation(Long ids);

    void contractExpireMessageSend();

    @Slave
    List<IhsShipBaseVo> getIhsShipInfo(String name);

    List<ConShippingVo> getConShippingNames(String name);

    @Slave
    List<IhsShipBaseVo> getIhsShipInfoByImo(String imo);

    List<String> queryShipNameList(String shipName);

    String queryConIdByShipName(String shipName);

    Page<ConShipping> export(ConShipping conShipping);

    List<ConShippingNameTextVo> selectConShippingNameTexts(Integer num);
}
